1. The Field of the Invention
The present invention is directed to methods for rendering data at variable playback rates and, more particularly, to methods for a device such as a programmable video recorder (PVR) to process recorded data for enabling the recorded data to be rendered at variable playback rates.
2. Related Technology
The ability to record broadcasting data, such as movies, television shows and sporting events has significantly increased the conveniences and viewing options available to viewers. For example, a program that is broadcast while a viewer is traveling, working, or away from home can be recorded and watched at a later time. Even when the viewer is able to coordinate their schedule to watch the broadcast of a program, the viewer may still choose to record the program so that the program can be watched at a later time and in a different manner than it was broadcast. For example, the viewer may choose to fast-forward through commercials or other undesired segments of the program. The viewer may also choose to watch portions of the program in slow motion, fast motion, in reverse, and so forth.
Recent advances in broadcasting technology have enabled digital data to be broadcast and recorded, which has further enhanced the viewing experience and options available to consumers. For instance, digital data can often provide better picture and sound quality than analog data. Digital recordings can also be searched more quickly than analog recordings because they can be displayed at high speeds (e.g. 64×). Accordingly, some viewers have found it desirable to watch and record programs in a digital format.
The Programmable Video Recorder (PVR), also known as the Digital Video Recorder (DVR), is one device that is capable of enabling the viewer to watch and record digital broadcast data. One significant advantage provided by the PVR is that it is capable of recording digital data at the same time it accesses and plays different digital data. This is useful because it enables the display of the program to be manipulated by the viewer without causing any interruption to the recording of the program. For example, the PVR enables a viewer to pause, rewind or watch a replay of an event in a program, at the same time the program is broadcast and recorded by the PVR. The programming data that is received during this time is recorded to a storage medium so that it can be accessed at a later time. Accordingly, the viewer can later resume watching the program, as desired, including the portions of the program that were broadcast and recorded to the storage medium.
In addition to recording and playing broadcast data, the PVR can also be used to play programs that are commercially distributed on computer-readable medium, such as a Compact Disk (CD), a Digital Video Disk (DVD), and other storage media. As mentioned above, the PVR and other digital playing devices provide trick play functionality, which is the ability to alter the playback rate of the recorded data, so that the recorded program can be played back at a different rate than it was broadcast. This is useful, for instance, for enabling a viewer to visually search through a program at a high speed (e.g. 64×). Trick play functionality also enables the recorded program to be played back in slow motion, in fast motion, in reverse, and so forth.
One problem with the trick play functionality, however, is that the playback rate is constrained to only a limited set of playback speeds which are built into the PVR devices (e.g. 2×, 4×, 8×, 16×, 32× and 64×). Accordingly, a viewer is unable to play the recorded program at other playback rates that may be desirable to the viewer.
The playback rate enabled by existing PVR devices can also be limited by other constraints, such as, for example, the bandwidth capacity of the communication link between the PVR and the rendering device. For example, if the playback rate of 64× requires a bandwidth that surpasses the capacity of the communication link, the rendering device will not receive all of the programming data that is required to playback the program at the desired rate.